KBO에서 메이저리그로 진출할 선수 예측 (타자편 1)

목차

1. 한국인 메이저리거 선수들의 KBO에서 활동할 때의 데이터

2. pandas_profiling 모듈을 이용한 간단한 EDA를 통한 데이터 파악 - 메이저리거

3. 2020년 KBO 타율 순으로 상위 10명 선수들의 데이터 전처리

4. pandas_profiling 모듈을 이용한 간단한 EDA를 통한 데이터 파악 - KBO

5. 한국인 메이저리그 타자 선수들과 2020년 KBO 상위(타율순) 10명의 선수를 비교분석하여 어떤 선수가 메이저리그로 향할 가능성이 가장 높은지 알아보자!

1. 한국인 메이저리거 선수들의 KBO에서 활동할 때의 데이터


KBO에서 메이저리그로 진출할 선수 찾아보기(크롤링편)에서 데이터 파일을 가져오자

Out[3]:
Name Birth_year Position info_url
0 강정호 1987 내야수 https://www.koreabaseball.com/Record/Retire/Hi...
1 김하성 1995 내야수 https://www.koreabaseball.com/Record/Retire/Hi...
2 김현수 1988 외야수 https://www.koreabaseball.com/Record/Player/Hi...
3 박병호 1986 내야수 https://www.koreabaseball.com/Record/Player/Hi...
4 이대호 1982 내야수 https://www.koreabaseball.com/Record/Player/Hi...
5 최희섭 1979 내야수 https://www.koreabaseball.com/Record/Retire/Hi...
6 황재균 1987 내야수 https://www.koreabaseball.com/Record/Player/Hi...

한국인 메이저리거 선수들 중 '타자' 선수들의 데이터만 뽑아왔다.

위에서 가져온 타자 선수들의 이름으로 통산기록을 가져와보자


Out[4]:
연도 팀명 타율 경기 타수 득점 안타 2루타 3루타 홈런 루타 타점 도루 도루실패 볼넷 사구 삼진 병살타 실책
0 2006 현대 0.150 10 20 1 3 1 0 0 4 1 0 1 0 0 8 1 3
1 2007 현대 0.133 20 15 0 2 0 0 0 2 0 0 0 0 0 5 1 0
2 2008 우리 0.271 116 362 36 98 18 1 8 142 47 3 1 31 5 65 12 13
3 2009 히어로즈 0.286 133 476 73 136 33 2 23 242 81 3 2 45 4 81 18 15
4 2010 넥센 0.301 133 449 60 135 30 2 12 205 58 2 2 61 7 87 14 23
5 2011 넥센 0.282 123 444 53 125 22 2 9 178 63 4 6 43 9 62 12 13
6 2012 넥센 0.314 124 436 77 137 32 0 25 244 82 21 5 71 6 78 16 12
7 2013 넥센 0.291 126 450 67 131 21 1 22 220 96 15 8 68 6 109 18 15
8 2014 넥센 0.356 117 418 103 149 36 2 40 309 117 3 3 68 13 106 8 9
9 통산 통산 0.298 902 3070 470 916 193 10 139 1546 545 51 28 387 50 601 100 103

위의 데이터는 '강정호' 선수의 데이터이다.

Out[5]:
연도 팀명 타율 경기 타석 타수 득점 안타 2루타 3루타 ... 타점 도루 도루실패 볼넷 사구 삼진 병살타 장타율 출루율 실책
0 2006 두산 0.000 1 1 1 0 0 0 0 ... 0 0 0 0 0 0 0 0.000 0.000 0
1 2007 두산 0.273 99 353 319 33 87 19 3 ... 32 5 2 26 5 46 12 0.398 0.335 3
2 2008 두산 0.357 126 558 470 83 168 34 5 ... 89 13 8 80 5 40 12 0.509 0.454 1
3 2009 두산 0.357 133 572 482 97 172 31 6 ... 104 6 6 80 4 59 7 0.589 0.448 3
4 2010 두산 0.317 132 565 473 88 150 29 0 ... 89 4 8 78 6 64 9 0.531 0.414 3
5 2011 두산 0.301 130 561 475 71 143 25 2 ... 91 5 3 71 6 63 15 0.444 0.392 7
6 2012 두산 0.291 122 491 437 47 127 17 1 ... 65 6 3 46 3 50 9 0.382 0.358 4
7 2013 두산 0.302 122 510 434 63 131 23 1 ... 90 2 4 62 2 71 6 0.470 0.382 2
8 2014 두산 0.322 125 528 463 75 149 26 0 ... 90 2 0 53 7 45 10 0.488 0.396 1
9 2015 두산 0.326 141 630 512 103 167 26 0 ... 121 11 5 101 8 63 13 0.541 0.438 1
10 2018 LG 0.362 117 511 453 95 164 39 2 ... 101 1 3 47 1 61 9 0.589 0.415 5
11 2019 LG 0.304 140 595 526 75 160 37 0 ... 82 3 1 54 6 52 11 0.437 0.370 1
12 2020 LG 0.331 142 619 547 98 181 35 2 ... 119 0 2 63 2 53 9 0.523 0.397 1
13 통산 통산 0.322 1530 6494 5592 928 1799 341 22 ... 1073 58 45 761 55 667 122 0.495 0.403 32

14 rows × 22 columns

위의 데이터는 '김현수' 선수의 데이터이다.

'강정호' 선수와 '김현수' 선수의 column 값들이 다른 것을 확인할 수 있는데, 그 이유는 은퇴한 선수와 그렇지 않은 선수의 column 값들이 다르기 때문이다.

공통 column으로 통일 시키고, 선수들의 통산기록(모든 시즌의 평균 기록)을 가져와보자


Out[7]:
이름 타율 경기 타수 득점 안타 2루타 3루타 홈런 루타 타점 도루 도루실패 볼넷 사구 삼진 병살타 실책
0 강정호 0.298 902 3070 470 916 193 10 139 1546 545 51 28 387 50 601 100 103
1 김하성 0.294 891 3195 606 940 191 23 133 1576 575 134 38 381 39 502 67 114
2 김현수 0.322 1530 5592 928 1799 341 22 195 2769 1073 58 45 761 55 667 122 32
3 박병호 0.283 1196 3889 771 1101 186 5 307 2218 880 59 24 635 98 1146 80 63
4 이대호 0.309 1715 6158 880 1900 297 6 332 3205 1243 11 11 668 173 919 201 105
5 최희섭 0.281 634 2131 327 598 115 4 100 1021 393 16 14 365 24 515 67 30
6 황재균 0.289 1584 5680 867 1644 315 38 181 2578 846 208 106 533 56 1062 122 186


다음으로 한국인 메이저리거 중에서 타자 선수들의 통산기록(평균기록)을 가져와 dataframe을 만들었다.

하지만 각 선수마다 경기 수가 달라 득점, 안타, 홈런 등의 지표들이 신뢰도가 떨어지기 때문에 모든 지표들을 경기 수로 나눠 한 경기당 지표수로 나타내려고 한다.


Out[8]:
이름 타율 경기 타수 득점 안타 2루타 3루타 홈런 루타 타점 도루 도루실패 볼넷 사구 삼진 병살타 실책
0 강정호 0.298 902 3.403548 0.521064 1.015521 0.213969 0.011086 0.154102 1.713969 0.604213 0.056541 0.031042 0.429047 0.055432 0.666297 0.110865 0.114191
1 김하성 0.294 891 3.585859 0.680135 1.054994 0.214366 0.025814 0.14927 1.768799 0.645342 0.150393 0.042649 0.427609 0.043771 0.563412 0.075196 0.127946
2 김현수 0.322 1530 3.654902 0.606536 1.175817 0.222876 0.014379 0.127451 1.809804 0.701307 0.037908 0.029412 0.497386 0.035948 0.435948 0.079739 0.020915
3 박병호 0.283 1196 3.251672 0.644649 0.920569 0.155518 0.004181 0.256689 1.854515 0.735786 0.049331 0.020067 0.530936 0.08194 0.958194 0.06689 0.052676
4 이대호 0.309 1715 3.590671 0.51312 1.107872 0.173178 0.003499 0.193586 1.868805 0.724781 0.006414 0.006414 0.389504 0.100875 0.53586 0.117201 0.061224

모든 지표들을 전체 경기로 나눠 한 경기당 해당 지표를 구할 수 있다.


2. pandas_profiling 모듈을 이용한 간단한 EDA를 통한 데이터 파악 - 메이저리거

Out[9]:

pandas_profiling을 통해 경기당 안타, 2루타, 3루타, 홈런, 타수 등의 최대값, 최솟값, 평균 등을 알 수 있고 값의 분포도 파악할 수 있다.

예시로 타율을 보면 평균이 0.2965정도 되고 히스토그램을 통해 0.3 이하에 많이 분포해 있는 것을 확인할 수 있다.

간단한 EDA(Exploratory Data Analysis, 탐색적 데이터 분석) 완료!


3. 2020년 KBO 타율 순으로 상위 10명 선수들의 데이터 전처리

Out[10]:
이름 타율 경기 타수 득점 안타 2루타 3루타 홈런 루타 타점 도루 도루실패 볼넷 사구 삼진 병살타 실책
0 최형우 0.321 1708 6194 1053 1986 421 14 330 3425 1335 27 18 873 95 1076 157 27
1 손아섭 0.325 1557 5859 1059 1904 331 25 162 2771 815 194 54 739 32 1002 85 50
2 박민우 0.330 884 3146 615 1038 166 43 24 1362 336 184 53 344 78 463 55 72
3 페르난데스 0.342 288 1158 191 396 63 0 36 567 193 1 3 119 19 96 42 4
4 이정후 0.336 533 2129 368 716 143 25 29 996 273 48 17 206 22 212 45 13

위이 데이터 또한 각 지표들을 경기수로 나누어 신뢰도를 높이자


Out[11]:
이름 타율 경기 타수 득점 안타 2루타 3루타 홈런 루타 타점 도루 도루실패 볼넷 사구 삼진 병살타 실책
0 최형우 0.321 1708 3.626464 0.616511 1.162763 0.246487 0.008197 0.193208 2.005269 0.781616 0.015808 0.010539 0.511124 0.055621 0.629977 0.09192 0.015808
1 손아섭 0.325 1557 3.763006 0.680154 1.222864 0.212588 0.016057 0.104046 1.779705 0.523443 0.124599 0.034682 0.474631 0.020552 0.643545 0.054592 0.032113
2 박민우 0.330 884 3.558824 0.695701 1.174208 0.187783 0.048643 0.027149 1.540724 0.38009 0.208145 0.059955 0.38914 0.088235 0.523756 0.062217 0.081448
3 페르난데스 0.342 288 4.020833 0.663194 1.375 0.21875 0.0 0.125 1.96875 0.670139 0.003472 0.010417 0.413194 0.065972 0.333333 0.145833 0.013889
4 이정후 0.336 533 3.994371 0.690432 1.34334 0.268293 0.046904 0.054409 1.868668 0.512195 0.090056 0.031895 0.386492 0.041276 0.397749 0.084428 0.02439

한국인 메이저리그 타자 데이터와 KBO 상위 10명의 타자 데이터가 모두 준비되었다.


4. pandas_profiling 모듈을 이용한 간단한 EDA를 통한 데이터 파악 - KBO

Out[12]:

간단한 EDA를 마치고 분석을 시작해보자


5. 한국인 메이저리그 타자 선수들과 2020년 KBO 상위(타율순) 10명의 선수를 비교분석하여 어떤 선수가 메이저리그로 향할 가능성이 가장 높은지 알아보자!

타수 = 타자가 정규로 타격을 완료한 횟수 (볼넷, 사구, 희생타, 타격방해 등이 이루어진 타석은 타수에서 제외)

안타 = 단타, 장타 모두 포함

루타 = 1루타 + 2 * 2루타 + 3 * 3루타 + 4 * 홈런

타점 = 타자가 타석에서의 어떠한 플레이로 주자가 득점이 이루어지면 타자의 타점으로 기록 (예시-A선수가 안타를 쳐서 주자 두 명이 홈으로 들어오면 A선수의 2타점 적시타 기록)

병살타 = 타자가 타격 후 2개의 아웃을 동시에 당하는 것

득점 = 한 선수가 점수가 나도록 플레이트로 들어옴 (예시-A선수가 1-2-3루를 거쳐 홈으로 돌아와 2점을 얻었다. A선수의 개인기록에 2득점)


위의 그래프에서 지표별로 한국인 메이저리거와 2020년 KBO 상위 10명의 타자를 비교해보았다.

메이저리그에 진출한 선수들이 대부분의 지표에서 높을 거라 생각했지만 타율, 타수, 안타, 루타 등 많은 부분에서 KBO 상위 10명 선수들의 기록이 더 좋았다.

그렇다면 메이저리그 출신 선수들의 데이터를 이용해 선형회귀선을 그려보고 그 선을 기준으로 2020년 KBO 상위10명 선수들을 비교해보자


공격 지표 중 하나인 '타율'에 대해 한국인 메이저리거 선수들의 선형회귀 그래프를 맨 위에 그려보았다.

이 선을 기준으로 2020년 KBO 상위 10명의 선수들의 '타율' 데이터를 연도별로 그려보았더니 어떤 선수가 '타율' 지표에서 메이저리그 선수들보다 뛰어난지 뒤떨어지는지 쉽게 파악할 수 있었다.

이제 지표별(타점, 안타, 홈런 등)로 KBO선수들과 메이저리그 선수들을 비교해보고 데이터 중 과반수 이상 선형회귀선을 넘으면 가산점을 부여하여 어떤 선수의 능력치가 더 우수한 지 알아보자

예시1 - 최형우 선수의 타율 데이터 15개 중 8개(과반수)이상이 선형회귀 선보다 더 높은 값을 가지면 가산점 +1 (높을수록 좋은 지표들의 경우)

예시2 - 도루실패, 삼진, 병살타, 실책은 데이터의 과반수가 선형회귀 선보다 더 낮은 값을 가지면 +1 (낮을수록 좋기 때문에)


Out[24]:
가산점
최형우 13
손아섭 10
박민우 7
페르난데스 8
이정후 9
허경민 4
김현수 12
강백호 5
양의지 5
나성범 12

1.
가산점이 10 이상인 선수를 뽑아보면 최형우, 김현수, 나성범, 손아섭 선수이다.

최형우 선수는 2021년을 기준으로 39살이 되어 메이저리그 진출이 어려워 보이고, 김현수 선수는 이미 메이저리그에 갔다온 경험이 있어 제외시키고 다른 선수들을 살펴보자

나성범 선수의 경우 뉴스터치: 나성범 메이저리그(MLB) 진출 무산 기사를 보면 포스팅시스템을 통해 MLB에 진출하려 했으나 실패했다는 사실을 알 수 있다.

비록 나성범 선수의 메이저리그 진출은 무산되었지만 데이터 분석을 통해 진출 가능성을 예상해 볼 수 있었다.

손아섭 선수의 경우 2015년 시즌이 끝나고 메이저리그 진출을 선언하였지만 포스팅 결과 메이저 리그 구단 중 손아섭의 포스팅에 참여한 구단이 없었다.

그 후 2017년 롯데와 4년 88억 원에 롯데에 잔류하기로 하였고, "메이저리그 도전보다는 롯데에 우승을 안겨주는 게 더 중요하다. 롯데 이외의 팀은 생각해 본 적도 없다."라고 언급한 것을 보면 앞으로 메이저리그 진출에 도전하지 않을 것으로 보인다.

그 다음으로 가산점이 높은 이정후 선수를 살펴보자



2.
이정후 선수는 2021년을 기준으로 24살이 되었고, 어린 나이에 쌓아올린 경력이 상위권에 머무르고 있는 것을 보아 메이저리그에 진출할 가능성이 제일 높아보인다.

조선일보: ‘3년 뒤 포스팅 가능’ 이정후, 성장세 유지한다면 해외진출도 OK뿐만 아니라 다른 여러 기사에도 이정후 선수의 MLB 진출 가능성을 높게 보기 때문에 제일 유력하다고 생각한다!


타율, 안타, 홈런 같은 단순한 지표보다 타자를 평가하기에 더 정확한 지표인 장타율, 출루율, wOBA, WAR 등의 지표를 이용해 분석해보자

다음 데이터 스토리로 GO GO~